<!DOCTYPE html>
<html lang="zh-CN" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>404 | 烟浮YanFu</title>
    <meta name="description" content="Not Found">
    <link rel="preload stylesheet" href="/yanfu_notes/assets/style.e0cf71e9.css" as="style">
    <script type="module" src="/yanfu_notes/assets/app.71ca72fc.js"></script>
    <link rel="preload" href="/yanfu_notes/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
  <meta name="theme-color" content="#3eaf7c">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <meta name="msapplication-TileColor" content="#000000">
  <meta name="baidu-site-verification" content="codeva-Whjnr38WFE">
  <meta name="msapplication-TileImage" content="/yanfu_notes/favicon.ico">
  <link rel="icon" href="/yanfu_notes/favicon.ico">
  <link rel="apple-touch-icon" href="/yanfu_notes/favicon.ico">
  <link rel="mask-icon" href="/yanfu_notes/favicon.ico" color="#3eaf7c">
  <link rel="manifest" href="/yanfu_notes/manifest.webmanifest">
  <script src="https://hm.baidu.com/hm.js?88ce1fd281010e3790b59a4e145bd8fc"></script>
  <script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-b2cf3e0b><!--[--><!--]--><!--[--><span tabindex="-1" data-v-c8616af1></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-c8616af1> Skip to content </a><!--]--><!----><header class="VPNav" data-v-b2cf3e0b data-v-7e5bc4a5><div class="VPNavBar" data-v-7e5bc4a5 data-v-7c10cd25><div class="container" data-v-7c10cd25><div class="title" data-v-7c10cd25><div class="VPNavBarTitle" data-v-7c10cd25 data-v-4d981103><a class="title" href="/yanfu_notes/" data-v-4d981103><!--[--><!--]--><!--[--><img class="VPImage logo" src="/yanfu_notes/images/avatar.jpeg" alt data-v-6db2186b><!--]--><!--[-->烟浮YanFu<!--]--><!--[--><!--[--><!--[--><!--[--><img class="visitor" src="https://img.shields.io/static/v1?label=Version&amp;message=1.0.1&amp;color=00b079" onerror="this.style.display=&#39;none&#39;" data-v-9722d197><!--]--><!--]--><!--]--><!--]--></a></div></div><div class="content" data-v-7c10cd25><div class="curtain" data-v-7c10cd25></div><div class="content-body" data-v-7c10cd25><!--[--><!--]--><div class="VPNavBarSearch search" style="--vp-meta-key:&#39;Meta&#39;;" data-v-7c10cd25><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg class="DocSearch-Search-Icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">搜索文档</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-7c10cd25 data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/yanfu_notes/nav" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->导航<!--]--><!----></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-7f418b0f data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-764effdf><span class="text" data-v-764effdf><!----> 学习笔记 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-764effdf><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><div class="items" data-v-e7ea1737><!--[--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><!----><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/JavaScript/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->JavaScript 基础<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/JavaScript_top/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->JavaScript 高级<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><!----><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/vue2/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->Vue2<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/vue3/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->Vue3<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/pinia/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->pinia<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/Nuxt3/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->Nuxt3<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><!----><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/react/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->React<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/Next/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->Next<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><!----><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/NodeLearn/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->Node<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/Dockers/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->Docker<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><!----><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/web/wechatCloud/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->微信小程序<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-7f418b0f data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-764effdf><span class="text" data-v-764effdf><!----> 日常笔记 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-764effdf><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><div class="items" data-v-e7ea1737><!--[--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><p class="title" data-v-69e747b5>JavaScript 相关</p><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/dailyNotes/01/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->优雅的 JavaScript 单行代码<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/dailyNotes/01/learn02" data-v-2f2cfafc data-v-8f4dc553><!--[-->Array 下有多少原型方法<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/dailyNotes/01/learn03" data-v-2f2cfafc data-v-8f4dc553><!--[-->正则相关<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><p class="title" data-v-69e747b5>Vue 相关</p><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/dailyNotes/02/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->使用 defer 优化白屏时间<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><p class="title" data-v-69e747b5>css 相关</p><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/dailyNotes/03/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->loading<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/yanfu_notes/web/vue3/06/learn01" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->源码学习<!--]--><!----></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-7f418b0f data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-764effdf><span class="text" data-v-764effdf><!----> Workflow <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-764effdf><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><div class="items" data-v-e7ea1737><!--[--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><p class="title" data-v-69e747b5>常用工具/方法</p><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/utils/library" data-v-2f2cfafc data-v-8f4dc553><!--[-->工具库整理<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/utils/regexp" data-v-2f2cfafc data-v-8f4dc553><!--[-->常用正则整理<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/utils/function" data-v-2f2cfafc data-v-8f4dc553><!--[-->常用方法整理<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><p class="title" data-v-69e747b5>CSS 相关</p><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/css/spec" data-v-2f2cfafc data-v-8f4dc553><!--[-->CSS 语法<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/css/tricks" data-v-2f2cfafc data-v-8f4dc553><!--[-->CSS 奇淫技巧<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/sass/" data-v-2f2cfafc data-v-8f4dc553><!--[-->Sass 常用技巧<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><p class="title" data-v-69e747b5>element-ui 相关</p><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/elementUI/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->切换主题<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuLink" data-v-e7ea1737 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/vue/" data-v-2f2cfafc data-v-8f4dc553><!--[-->Vue 小技巧<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-e7ea1737 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/vite/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->Vite 相关<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-e7ea1737 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/node/npm" data-v-2f2cfafc data-v-8f4dc553><!--[-->node 相关<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><p class="title" data-v-69e747b5>终端相关</p><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/terminal/zsh" data-v-2f2cfafc data-v-8f4dc553><!--[-->Zsh 配置<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/terminal/toolkit" data-v-2f2cfafc data-v-8f4dc553><!--[-->命令行工具<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/terminal/shell" data-v-2f2cfafc data-v-8f4dc553><!--[-->Shell 命令<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuLink" data-v-e7ea1737 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/workflow/git/learn01" data-v-2f2cfafc data-v-8f4dc553><!--[-->Git 相关<!--]--><!----></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/yanfu_notes/pit/npm" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->踩坑记录<!--]--><!----></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-7f418b0f data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-764effdf><span class="text" data-v-764effdf><!----> 提效工具 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-764effdf><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><div class="items" data-v-e7ea1737><!--[--><!--[--><div class="VPMenuGroup" data-v-e7ea1737 data-v-69e747b5><p class="title" data-v-69e747b5>软件推荐与配置</p><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/efficiency/software/cross-platform" data-v-2f2cfafc data-v-8f4dc553><!--[-->多平台软件<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/efficiency/software/mac" data-v-2f2cfafc data-v-8f4dc553><!--[-->Mac 平台<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/efficiency/software/windows" data-v-2f2cfafc data-v-8f4dc553><!--[-->Windows 平台<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/efficiency/software/browser" data-v-2f2cfafc data-v-8f4dc553><!--[-->浏览器设置与扩展<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/efficiency/software/vscode" data-v-2f2cfafc data-v-8f4dc553><!--[-->Visual Studio Code 配置<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/efficiency/software/webstorm" data-v-2f2cfafc data-v-8f4dc553><!--[-->WebStorm 配置<!--]--><!----></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuLink" data-v-e7ea1737 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/efficiency/online-tools" data-v-2f2cfafc data-v-8f4dc553><!--[-->在线工具<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-e7ea1737 data-v-2f2cfafc><a class="VPLink link" href="/yanfu_notes/efficiency/bookmark-scripts" data-v-2f2cfafc data-v-8f4dc553><!--[-->书签脚本<!--]--><!----></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="https://gitee.com/addminsjh" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->烟浮YanFu<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="icon" data-v-8f4dc553><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-7c10cd25 data-v-f6a63727><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-f6a63727 data-v-87de0873 data-v-f3c41672><span class="check" data-v-f3c41672><span class="icon" data-v-f3c41672><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-87de0873><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-87de0873><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-7c10cd25 data-v-0394ad82 data-v-d7a53887><!--[--><a class="VPSocialLink" href="https://gitee.com/addminsjh" aria-label="github" target="_blank" rel="noopener" data-v-d7a53887 data-v-c530cc0a><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-7c10cd25 data-v-40855f84 data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-764effdf><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-764effdf><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><!----><!--[--><!--[--><!----><div class="group" data-v-40855f84><div class="item appearance" data-v-40855f84><p class="label" data-v-40855f84>外观</p><div class="appearance-action" data-v-40855f84><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-40855f84 data-v-87de0873 data-v-f3c41672><span class="check" data-v-f3c41672><span class="icon" data-v-f3c41672><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-87de0873><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-87de0873><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-40855f84><div class="item social-links" data-v-40855f84><div class="VPSocialLinks social-links-list" data-v-40855f84 data-v-d7a53887><!--[--><a class="VPSocialLink" href="https://gitee.com/addminsjh" aria-label="github" target="_blank" rel="noopener" data-v-d7a53887 data-v-c530cc0a><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-7c10cd25 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><!----></header><div class="VPLocalNav" data-v-b2cf3e0b data-v-392e1bf8><!----><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-392e1bf8 data-v-079b16a8><button data-v-079b16a8>返回顶部</button><!----></div></div><!----><div class="VPContent" id="VPContent" data-v-b2cf3e0b data-v-a494bd1d><!--[--><div class="NotFound" data-v-a494bd1d data-v-c70503b8><p class="code" data-v-c70503b8>404</p><h1 class="title" data-v-c70503b8>PAGE NOT FOUND</h1><div class="divider" data-v-c70503b8></div><blockquote class="quote" data-v-c70503b8> But if you don&#39;t change your direction, and if you keep looking, you may end up where you are heading. </blockquote><div class="action" data-v-c70503b8><a class="link" href="/yanfu_notes/" aria-label="go to home" data-v-c70503b8> Take me home </a></div></div><!--]--></div><footer class="VPFooter" data-v-b2cf3e0b data-v-2f86ebd2><div class="container" data-v-2f86ebd2><p class="message" data-v-2f86ebd2>如有转载或 CV 的请标注本站原文地址</p><p class="copyright" data-v-2f86ebd2>Copyright © 2023-present 烟浮YanFu</p></div></footer><!--[--><!--]--></div></div>
    <script>__VP_HASH_MAP__ = JSON.parse("{\"dailynotes_01_learn01.md\":\"fb9d824e\",\"dailynotes_01_learn03.md\":\"60f46bc0\",\"dailynotes_02_learn01.md\":\"7416609d\",\"dailynotes_01_learn02.md\":\"8e1f9322\",\"efficiency_software_cross-platform.md\":\"3f9dbff0\",\"efficiency_online-tools.md\":\"164f32c7\",\"efficiency_bookmark-scripts.md\":\"6c8f7c3b\",\"efficiency_software_browser.md\":\"d56ea2c6\",\"efficiency_software_mac.md\":\"89e295d7\",\"efficiency_software_webstorm.md\":\"f520bee8\",\"efficiency_software_windows.md\":\"a4b1847b\",\"pit_element_plus.md\":\"c486ecc4\",\"index.md\":\"0afacadf\",\"pit_h5.md\":\"74a083f0\",\"nav.md\":\"d2281484\",\"efficiency_software_vscode.md\":\"05a5d1ca\",\"pinia_learn01.md\":\"e4d4d76a\",\"pit_npm.md\":\"0ad9e23f\",\"pit_pc.md\":\"b86be787\",\"web_dockers_01_learn01.md\":\"d9a875dd\",\"web_dockers_02_learn01.md\":\"ba275b0f\",\"web_javascript_learn01.md\":\"4c60f698\",\"dailynotes_03_learn03.md\":\"8894bec4\",\"web_javascript_learn02.md\":\"0232787a\",\"web_javascript_learn03.md\":\"3bb3518c\",\"web_javascript_learn04.md\":\"265abc2b\",\"web_javascript_learn06.md\":\"9015895d\",\"web_javascript_learn05.md\":\"ef411c90\",\"web_javascript_learn07.md\":\"c2c69212\",\"web_javascript_learn09.md\":\"fa3a8fc7\",\"web_javascript_learn08.md\":\"3020b687\",\"web_javascript_learn10.md\":\"69910949\",\"web_javascript_learn12.md\":\"e84cf70e\",\"web_javascript_learn15.md\":\"91528dcd\",\"web_javascript_learn13.md\":\"8da7a486\",\"web_javascript_learn14.md\":\"302d3488\",\"web_javascript_learn17.md\":\"2369e6f4\",\"web_javascript_learn11.md\":\"c15229d7\",\"web_javascript_learn19.md\":\"b07bf70b\",\"web_javascript_learn16.md\":\"c8f4e19c\",\"web_javascript_learn20.md\":\"531d3a7d\",\"web_javascript_learn18.md\":\"11de8e86\",\"web_javascript_learn21.md\":\"1bac3aa3\",\"web_javascript_learn22.md\":\"459b0a5f\",\"dailynotes_03_learn01.md\":\"451a46a2\",\"web_javascript_learn24.md\":\"d1ceaca2\",\"web_javascript_top_learn02.md\":\"cadd2bb4\",\"web_javascript_learn23.md\":\"48da7355\",\"web_javascript_top_learn04.md\":\"9f44d103\",\"web_javascript_top_learn03.md\":\"93b74f4a\",\"web_javascript_top_learn01.md\":\"5007d6f4\",\"web_javascript_top_learn05.md\":\"76650f3a\",\"web_javascript_top_learn07.md\":\"64b677c1\",\"web_javascript_top_learn08.md\":\"93de8587\",\"web_javascript_top_learn06.md\":\"164b81a9\",\"web_javascript_top_learn09.md\":\"2dbcb5a0\",\"web_javascript_top_learn10.md\":\"465a5e5f\",\"web_javascript_top_learn11.md\":\"2e5c855f\",\"web_javascript_top_learn12.md\":\"8b341d16\",\"web_javascript_top_learn14.md\":\"9893f410\",\"web_javascript_top_learn15.md\":\"7fe2d8c4\",\"web_javascript_top_learn16.md\":\"6afe0a71\",\"web_javascript_top_learn17.md\":\"7d483cde\",\"web_javascript_top_learn13.md\":\"60fe7737\",\"web_javascript_top_learn18.md\":\"f2ad9e08\",\"web_javascript_top_learn19.md\":\"ca4e880b\",\"web_javascript_top_learn20.md\":\"e09985e1\",\"web_javascript_top_learn21.md\":\"f431bde8\",\"web_javascript_top_learn23.md\":\"1ca9118e\",\"web_javascript_top_learn22.md\":\"43c7120a\",\"web_javascript_top_learn24.md\":\"bc870303\",\"web_next_02_learn02.md\":\"d967166f\",\"web_next_02_learn03.md\":\"bbc5505d\",\"web_next_02_learn01.md\":\"84ff5279\",\"web_next_02_learn04.md\":\"a3a5e42a\",\"web_next_02_learn05.md\":\"f51c80d0\",\"web_next_01_learn01.md\":\"c7e46d8f\",\"web_next_02_learn07.md\":\"71216e95\",\"web_next_02_learn06.md\":\"7927c5af\",\"web_next_03_learn02.md\":\"9bede240\",\"web_next_03_learn03.md\":\"3ad4672d\",\"web_javascript_top_learn25.md\":\"826686c5\",\"web_next_03_learn01.md\":\"21002d61\",\"web_next_03_learn06.md\":\"5d763be0\",\"web_next_04_learn02.md\":\"0a16aca0\",\"web_next_04_learn01.md\":\"2d05c407\",\"web_next_03_learn04.md\":\"0990a5f4\",\"web_nodelearn_01_learn01.md\":\"961fc011\",\"web_next_03_learn05.md\":\"1ea11ee1\",\"web_nodelearn_01_learn02.md\":\"e31bd5c2\",\"web_nodelearn_01_learn03.md\":\"a0dbdda5\",\"web_nodelearn_01_learn04.md\":\"da3a7c4d\",\"web_nodelearn_02_learn01.md\":\"4c8a3429\",\"web_nodelearn_01_learn05.md\":\"4d7b266a\",\"web_nodelearn_02_learn03.md\":\"82b7c959\",\"web_nodelearn_02_learn06.md\":\"c5a69578\",\"web_nodelearn_02_learn05.md\":\"36e8211f\",\"web_nodelearn_02_learn04.md\":\"91b61deb\",\"web_nodelearn_02_learn07.md\":\"3646b8b1\",\"web_nodelearn_02_learn02.md\":\"daba3cb5\",\"web_nodelearn_03_learn01.md\":\"17b60c45\",\"web_nodelearn_03_learn04.md\":\"3a348bc5\",\"web_nodelearn_03_learn05.md\":\"e2316074\",\"web_nodelearn_03_learn02.md\":\"8ec48efb\",\"web_nodelearn_03_learn03.md\":\"8e6464e6\",\"web_nodelearn_04_learn02.md\":\"f2918e2b\",\"web_nodelearn_04_learn01.md\":\"e1e07a57\",\"web_nodelearn_04_learn03.md\":\"197f148a\",\"web_nodelearn_04_learn05.md\":\"01d005e4\",\"web_nodelearn_04_learn04.md\":\"5554e554\",\"web_nodelearn_04_learn06.md\":\"fd3ae81a\",\"web_nodelearn_04_learn08.md\":\"75d1b8f0\",\"web_nodelearn_04_learn09.md\":\"dac55aba\",\"web_nodelearn_05_learn01.md\":\"3d023037\",\"web_nodelearn_04_learn07.md\":\"e07185cf\",\"web_nodelearn_05_learn02.md\":\"ef127427\",\"web_nodelearn_05_learn03.md\":\"9ab16eeb\",\"web_nodelearn_05_learn04.md\":\"e476e037\",\"web_nodelearn_06_learn01.md\":\"441dc056\",\"web_nodelearn_06_learn02.md\":\"2a3570db\",\"web_nodelearn_06_learn03.md\":\"29ab46dd\",\"web_nodelearn_06_learn04.md\":\"cb981d59\",\"web_nodelearn_07_learn02.md\":\"0ea2b76f\",\"web_nodelearn_07_learn01.md\":\"8584ca0a\",\"web_nuxt3_01_learn01.md\":\"87060502\",\"web_nodelearn_07_learn03.md\":\"2ae0d2ba\",\"web_nuxt3_01_learn02.md\":\"650e16a3\",\"web_nuxt3_01_learn04.md\":\"e1789d7b\",\"web_nuxt3_01_learn03.md\":\"0c84a2bb\",\"web_nuxt3_01_learn05.md\":\"a64f0991\",\"web_nuxt3_01_learn07.md\":\"be86f7ed\",\"web_nuxt3_01_learn06.md\":\"6a8069ab\",\"web_nuxt3_02_learn01.md\":\"3d5cef8d\",\"web_nuxt3_02_learn02.md\":\"7b907f5e\",\"web_nuxt3_02_learn05.md\":\"a7113c22\",\"web_nuxt3_02_learn04.md\":\"19a8b1db\",\"web_nuxt3_02_learn03.md\":\"ef8ae51a\",\"web_nuxt3_02_learn06.md\":\"1948f7e1\",\"web_nuxt3_03_learn01.md\":\"62c770a2\",\"web_nuxt3_02_learn07.md\":\"758fe1ac\",\"web_nuxt3_03_learn02.md\":\"fe0b0d28\",\"web_nuxt3_03_learn04.md\":\"00c36249\",\"web_nuxt3_03_learn03.md\":\"f68d33b2\",\"web_nuxt3_03_learn05.md\":\"c3c5e972\",\"web_nuxt3_03_learn06.md\":\"044a942d\",\"web_nuxt3_03_learn07.md\":\"08354a10\",\"web_nuxt3_04_learn02.md\":\"96f39d45\",\"web_nuxt3_04_learn01.md\":\"f0e8d66e\",\"web_nuxt3_04_learn03.md\":\"1f3d1e23\",\"web_nuxt3_04_learn04.md\":\"fc3fddd0\",\"web_nuxt3_04_learn05.md\":\"1548e8b4\",\"web_nuxt3_04_learn06.md\":\"3fd55dff\",\"web_nuxt3_04_learn07.md\":\"ffc131f8\",\"web_nuxt3_04_learn08.md\":\"2c8b4d85\",\"web_nuxt3_05_learn01.md\":\"be7f2116\",\"web_nuxt3_05_learn02.md\":\"cc1f7467\",\"web_nuxt3_05_learn03.md\":\"13fc3eb1\",\"web_react_01_learn01.md\":\"5c6bdd83\",\"web_react_01_learn02.md\":\"47f7eef9\",\"web_react_01_learn03.md\":\"933b75f8\",\"web_react_01_learn04.md\":\"9ad864e5\",\"web_react_01_learn05.md\":\"2ed01344\",\"web_react_01_learn06.md\":\"af1af381\",\"web_react_03_learn01.md\":\"a8bb7a1b\",\"web_react_02_learn01.md\":\"ec1f531d\",\"web_react_04_learn01.md\":\"4a742238\",\"web_react_01_learn07.md\":\"7b8d820c\",\"web_react_05_learn01.md\":\"dff53736\",\"web_react_05_learn02.md\":\"7faa96b5\",\"web_react_05_learn03.md\":\"dbac9935\",\"web_react_05_learn04.md\":\"49f1a60c\",\"web_react_05_learn05.md\":\"ecf18497\",\"web_react_05_learn06.md\":\"9f082023\",\"web_react_05_learn07.md\":\"5a6bdbbf\",\"web_react_05_learn08.md\":\"20ee9801\",\"web_react_05_learn09.md\":\"cf842354\",\"web_react_05_learn10.md\":\"a84f17f3\",\"web_react_05_learn11.md\":\"f2f2cc46\",\"web_react_05_learn12.md\":\"c71ceb8d\",\"web_react_05_learn13.md\":\"7780636e\",\"web_react_05_learn14.md\":\"68ed1e1d\",\"web_react_05_learn17.md\":\"c3432bb6\",\"web_react_05_learn16.md\":\"70c399ca\",\"web_react_05_learn18.md\":\"261f269b\",\"web_react_05_learn20.md\":\"e7801f11\",\"web_react_05_learn15.md\":\"974a98ac\",\"web_react_05_learn19.md\":\"47c5beea\",\"web_react_10_learn01.md\":\"935bfaee\",\"web_react_06_learn02.md\":\"01be4891\",\"web_react_09_learn03.md\":\"08fa6271\",\"web_react_07_learn01.md\":\"29f2f337\",\"web_react_07_learn02.md\":\"ce0d9a16\",\"web_react_09_learn04.md\":\"15ae7e28\",\"web_react_09_learn01.md\":\"987aa5a1\",\"web_react_11_learn02.md\":\"3748cedf\",\"web_react_08_learn01.md\":\"53bd602b\",\"web_react_11_learn01.md\":\"37fe9111\",\"web_react_09_learn02.md\":\"f87c507b\",\"web_react_06_learn01.md\":\"1641040d\",\"web_react_13_learn01.md\":\"b436cd63\",\"web_react_12_learn01.md\":\"1fd95aeb\",\"web_react_11_learn03.md\":\"75f8874c\",\"web_vue2_01_learn01.md\":\"9d391eaf\",\"web_react_15_learn01.md\":\"d9583687\",\"web_react_15_learn02.md\":\"05c63fab\",\"web_vue2_01_learn02.md\":\"0a74ccbb\",\"web_vue2_01_learn03.md\":\"d607dbf6\",\"web_react_14_learn01.md\":\"bed15afa\",\"web_vue2_02_learn01.md\":\"f4dc2209\",\"web_vue2_01_learn05.md\":\"5c8d4172\",\"web_vue2_01_learn06.md\":\"96effce5\",\"web_vue2_01_learn04.md\":\"eb8e1bd9\",\"web_vue2_02_learn02.md\":\"3877d4ed\",\"web_vue2_02_learn07.md\":\"a055c961\",\"web_vue2_02_learn05.md\":\"cce18aad\",\"web_vue2_02_learn04.md\":\"905d9901\",\"web_vue2_03_learn01.md\":\"9f11b4a0\",\"web_vue2_02_learn06.md\":\"4a0fcaed\",\"web_vue2_02_learn03.md\":\"185ecac6\",\"web_vue2_02_learn09.md\":\"5178083c\",\"web_vue2_02_learn10.md\":\"87336e03\",\"web_vue2_02_learn08.md\":\"7dc37766\",\"web_vue2_03_learn04.md\":\"1e16efbc\",\"web_vue2_03_learn02.md\":\"e6c1fa09\",\"web_vue2_03_learn03.md\":\"ceae501d\",\"web_vue2_04_learn01.md\":\"8c54fd83\",\"web_vue2_05_learn01.md\":\"3169061e\",\"web_vue2_04_learn03.md\":\"0ca42ac5\",\"web_vue2_05_learn02.md\":\"304e2941\",\"web_vue2_04_learn02.md\":\"622c33d8\",\"web_vue2_05_learn03.md\":\"5979941e\",\"web_vue2_06_learn04.md\":\"64cea819\",\"web_vue2_06_learn02.md\":\"b634d59a\",\"web_vue2_06_learn05.md\":\"ee19cbfb\",\"web_vue2_06_learn03.md\":\"c1fd8196\",\"web_vue2_06_learn01.md\":\"1e52942e\",\"web_vue3_01_learn01.md\":\"82114093\",\"web_vue3_01_learn02.md\":\"d571309c\",\"web_vue3_01_learn04.md\":\"15f2d70e\",\"web_vue3_02_learn01.md\":\"c9d2f88d\",\"web_vue3_01_learn03.md\":\"3df60f72\",\"web_vue3_03_learn01.md\":\"3f3e17ff\",\"web_vue3_03_learn02.md\":\"2896b97e\",\"web_vue3_02_learn02.md\":\"2afe7860\",\"web_vue3_04_learn01.md\":\"108d149d\",\"web_vue3_02_learn03.md\":\"52d95fa1\",\"web_vue3_04_learn02.md\":\"1648f04f\",\"web_vue3_04_learn03.md\":\"c0ecea8f\",\"web_vue3_05_learn01.md\":\"ab316a81\",\"web_vue3_04_learn04.md\":\"bc98d39e\",\"web_vue3_05_learn02.md\":\"0ed1e38f\",\"web_vue3_05_learn04.md\":\"72f14eec\",\"web_vue3_05_learn03.md\":\"bc3eb3ef\",\"web_vue3_06_learn01.md\":\"47e43ea2\",\"web_vue3_08_learn02.md\":\"1b8b9db4\",\"web_vue3_08_learn01.md\":\"5d12764d\",\"web_vue3_07_learn01.md\":\"128c70d7\",\"web_vue3_08_learn03.md\":\"57e4f4bb\",\"web_vue3_08_learn05.md\":\"f8d0e1a9\",\"web_vue3_09_learn01.md\":\"f1681401\",\"web_vue3_08_learn04.md\":\"c125dc9b\",\"web_vue3_10_learn01.md\":\"973e7a22\",\"web_vue3_10_learn02.md\":\"7c28883c\",\"web_vue3_10_learn04.md\":\"cf850441\",\"web_vue3_10_learn03.md\":\"39786c19\",\"web_wechatcloud_01_learn01.md\":\"c0cb77c6\",\"web_vue3_10_learn05.md\":\"cf075dec\",\"web_vue3_09_learn02.md\":\"eeb4260d\",\"web_vue3_10_learn06.md\":\"b11efb72\",\"web_wechatcloud_01_learn03.md\":\"67fe320c\",\"web_wechatcloud_01_learn02.md\":\"c648b2aa\",\"web_wechatcloud_02_learn01.md\":\"a46b0864\",\"web_wechatcloud_02_learn03.md\":\"2ddc8141\",\"workflow_css_spec.md\":\"55fbec8c\",\"web_wechatcloud_01_learn04.md\":\"6c04db91\",\"web_wechatcloud_02_learn02.md\":\"b171bac6\",\"web_wechatcloud_03_learn01.md\":\"9fc1ac64\",\"workflow_elementui_learn01.md\":\"a1bcd127\",\"workflow_css_tricks.md\":\"a9fa02fa\",\"workflow_node_npm.md\":\"103cf0c6\",\"workflow_git_learn01.md\":\"ff359afd\",\"workflow_git_learn02.md\":\"507f5149\",\"workflow_css_svg.md\":\"dca1daac\",\"workflow_node_nvm.md\":\"13dc221b\",\"workflow_terminal_learn01.md\":\"1364b976\",\"workflow_terminal_learn02.md\":\"80e2ebd7\",\"workflow_terminal_shell.md\":\"de574807\",\"workflow_sass_index.md\":\"f4757f43\",\"workflow_terminal_toolkit.md\":\"46798207\",\"workflow_terminal_zsh.md\":\"b2e1938e\",\"workflow_utils_library.md\":\"4c2486a6\",\"workflow_utils_regexp.md\":\"0130508f\",\"workflow_utils_function.md\":\"abb59169\",\"workflow_vite_learn03.md\":\"edbe71ab\",\"workflow_vite_learn02.md\":\"890073b5\",\"workflow_vue_index.md\":\"31088bc4\",\"workflow_vite_learn01.md\":\"a4fddb0a\",\"dailynotes_03_learn02.md\":\"e485b2dd\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"烟浮YanFu\",\"description\":\"烟浮YanFu的成长之路，包含前端常用知识、源码阅读笔记、各种奇淫技巧、日常提效工具等\",\"base\":\"/yanfu_notes/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"logo\":\"/images/avatar.jpeg\",\"siteTitle\":\"烟浮YanFu\",\"i18nRouting\":false,\"nav\":[{\"text\":\"导航\",\"link\":\"/nav\",\"activeMatch\":\"^/nav\"},{\"text\":\"学习笔记\",\"items\":[{\"items\":[{\"text\":\"JavaScript 基础\",\"link\":\"/web/JavaScript/learn01\"},{\"text\":\"JavaScript 高级\",\"link\":\"/web/JavaScript_top/learn01\"}]},{\"items\":[{\"text\":\"Vue2\",\"link\":\"/web/vue2/01/learn01\"},{\"text\":\"Vue3\",\"link\":\"/web/vue3/01/learn01\"},{\"text\":\"pinia\",\"link\":\"/pinia/learn01\"},{\"text\":\"Nuxt3\",\"link\":\"/web/Nuxt3/01/learn01\"}]},{\"items\":[{\"text\":\"React\",\"link\":\"/web/react/01/learn01\"},{\"text\":\"Next\",\"link\":\"/web/Next/01/learn01\"}]},{\"items\":[{\"text\":\"Node\",\"link\":\"/web/NodeLearn/01/learn01\"},{\"text\":\"Docker\",\"link\":\"/web/Dockers/01/learn01\"}]},{\"items\":[{\"text\":\"微信小程序\",\"link\":\"/web/wechatCloud/01/learn01\"}]}],\"activeMatch\":\"^/web\"},{\"text\":\"日常笔记\",\"activeMatch\":\"^/dailyNotes\",\"items\":[{\"text\":\"JavaScript 相关\",\"items\":[{\"text\":\"优雅的 JavaScript 单行代码\",\"link\":\"/dailyNotes/01/learn01\"},{\"text\":\"Array 下有多少原型方法\",\"link\":\"/dailyNotes/01/learn02\"},{\"text\":\"正则相关\",\"link\":\"/dailyNotes/01/learn03\"}]},{\"text\":\"Vue 相关\",\"items\":[{\"text\":\"使用 defer 优化白屏时间\",\"link\":\"/dailyNotes/02/learn01\"}]},{\"text\":\"css 相关\",\"items\":[{\"text\":\"loading\",\"link\":\"/dailyNotes/03/learn01\"}]}]},{\"text\":\"源码学习\",\"link\":\"/web/vue3/06/learn01\",\"activeMatch\":\"^/web/vue3/\"},{\"text\":\"Workflow\",\"items\":[{\"text\":\"常用工具/方法\",\"items\":[{\"text\":\"工具库整理\",\"link\":\"/workflow/utils/library\"},{\"text\":\"常用正则整理\",\"link\":\"/workflow/utils/regexp\"},{\"text\":\"常用方法整理\",\"link\":\"/workflow/utils/function\"}]},{\"text\":\"CSS 相关\",\"items\":[{\"text\":\"CSS 语法\",\"link\":\"/workflow/css/spec\"},{\"text\":\"CSS 奇淫技巧\",\"link\":\"/workflow/css/tricks\"},{\"text\":\"Sass 常用技巧\",\"link\":\"/workflow/sass/\"}]},{\"text\":\"element-ui 相关\",\"items\":[{\"text\":\"切换主题\",\"link\":\"/workflow/elementUI/learn01\"}]},{\"text\":\"Vue 小技巧\",\"link\":\"/workflow/vue/\"},{\"text\":\"Vite 相关\",\"link\":\"/workflow/vite/learn01\"},{\"text\":\"node 相关\",\"link\":\"/workflow/node/npm\"},{\"text\":\"终端相关\",\"items\":[{\"text\":\"Zsh 配置\",\"link\":\"/workflow/terminal/zsh\"},{\"text\":\"命令行工具\",\"link\":\"/workflow/terminal/toolkit\"},{\"text\":\"Shell 命令\",\"link\":\"/workflow/terminal/shell\"}]},{\"text\":\"Git 相关\",\"link\":\"/workflow/git/learn01\"}],\"activeMatch\":\"^/workflow\"},{\"text\":\"踩坑记录\",\"link\":\"/pit/npm\",\"activeMatch\":\"^/pit\"},{\"text\":\"提效工具\",\"items\":[{\"text\":\"软件推荐与配置\",\"items\":[{\"text\":\"多平台软件\",\"link\":\"/efficiency/software/cross-platform\"},{\"text\":\"Mac 平台\",\"link\":\"/efficiency/software/mac\"},{\"text\":\"Windows 平台\",\"link\":\"/efficiency/software/windows\"},{\"text\":\"浏览器设置与扩展\",\"link\":\"/efficiency/software/browser\"},{\"text\":\"Visual Studio Code 配置\",\"link\":\"/efficiency/software/vscode\"},{\"text\":\"WebStorm 配置\",\"link\":\"/efficiency/software/webstorm\"}]},{\"text\":\"在线工具\",\"link\":\"/efficiency/online-tools\"},{\"text\":\"书签脚本\",\"link\":\"/efficiency/bookmark-scripts\"}],\"activeMatch\":\"^/efficiency\"},{\"text\":\"烟浮YanFu\",\"link\":\"https://gitee.com/addminsjh\"}],\"sidebar\":{\"/web/JavaScript/\":[{\"text\":\"JavaScript 基础\",\"items\":[{\"text\":\"JS DOM--什么是DOM\",\"link\":\"/web/JavaScript/learn01\"},{\"text\":\"JS DOM--查找元素\",\"link\":\"/web/JavaScript/learn02\"},{\"text\":\"JS DOM--父、子和兄弟元素\",\"link\":\"/web/JavaScript/learn03\"},{\"text\":\"JS DOM--创建元素、插入元素\",\"link\":\"/web/JavaScript/learn04\"},{\"text\":\"JS DOM--appendChild、textContent、innerText、innerHTML\",\"link\":\"/web/JavaScript/learn05\"},{\"text\":\"innerHTML vs createElement\",\"link\":\"/web/JavaScript/learn06\"},{\"text\":\"insertBefore、insertAfter、append、prepend\",\"link\":\"/web/JavaScript/learn07\"},{\"text\":\"replaceChild、cloneNode、removeChild\",\"link\":\"/web/JavaScript/learn08\"},{\"text\":\"insertAdjacentHTML\",\"link\":\"/web/JavaScript/learn09\"},{\"text\":\"属性操作\",\"link\":\"/web/JavaScript/learn10\"},{\"text\":\"操作style样式、class、getComputedStyle\",\"link\":\"/web/JavaScript/learn11\"},{\"text\":\"事件初识\",\"link\":\"/web/JavaScript/learn12\"},{\"text\":\"三种事件绑定方式\",\"link\":\"/web/JavaScript/learn13\"},{\"text\":\"DOMContentLoaded、load、beforeunload 和 unload\",\"link\":\"/web/JavaScript/learn14\"},{\"text\":\"详解load事件\",\"link\":\"/web/JavaScript/learn15\"},{\"text\":\"详解鼠标事件\",\"link\":\"/web/JavaScript/learn16\"},{\"text\":\"键盘事件\",\"link\":\"/web/JavaScript/learn17\"},{\"text\":\"滚动事件\",\"link\":\"/web/JavaScript/learn18\"},{\"text\":\"scrollIntoView()\",\"link\":\"/web/JavaScript/learn19\"},{\"text\":\"理解事件委托\",\"link\":\"/web/JavaScript/learn20\"},{\"text\":\"dispatchEvent()\",\"link\":\"/web/JavaScript/learn21\"},{\"text\":\"自定义事件\",\"link\":\"/web/JavaScript/learn22\"},{\"text\":\"MutationObserver是干什么的\",\"link\":\"/web/JavaScript/learn23\"},{\"text\":\"原生表单\",\"link\":\"/web/JavaScript/learn24\"}]}],\"/web/JavaScript_top/\":[{\"text\":\"JavaScript 高级\",\"items\":[{\"text\":\"创建对象 7 种方式，原型链，call/apply/bind\",\"link\":\"/web/JavaScript_top/learn01\"},{\"text\":\"数组slice和splice怎么使用-区别？\",\"link\":\"/web/JavaScript_top/learn02\"},{\"text\":\"箭头函数，高阶函数，柯里化函数，纯函数\",\"link\":\"/web/JavaScript_top/learn03\"},{\"text\":\"==和===和Object.is()的区别\",\"link\":\"/web/JavaScript_top/learn04\"},{\"text\":\"JS手写从URL中获取指定参数-3种方式\",\"link\":\"/web/JavaScript_top/learn05\"},{\"text\":\"8个JS的reduce使用实例，和reduce的骚操作\",\"link\":\"/web/JavaScript_top/learn06\"},{\"text\":\"axios/fetch/XMLHttpRequest怎么取消请求\",\"link\":\"/web/JavaScript_top/learn07\"},{\"text\":\"用易懂的方式理解JS中new关键字\",\"link\":\"/web/JavaScript_top/learn08\"},{\"text\":\"4个超级实用JS小技巧 少写代码 提升开发效率\",\"link\":\"/web/JavaScript_top/learn09\"},{\"text\":\"JavaScript Proxy学习笔记-1\",\"link\":\"/web/JavaScript_top/learn10\"},{\"text\":\"JavaScript Proxy学习笔记-2\",\"link\":\"/web/JavaScript_top/learn11\"},{\"text\":\"JavaScript Promise学习笔记-1\",\"link\":\"/web/JavaScript_top/learn12\"},{\"text\":\"JavaScript Promise链式调用-2\",\"link\":\"/web/JavaScript_top/learn13\"},{\"text\":\"JavaScript Promise.all()\",\"link\":\"/web/JavaScript_top/learn14\"},{\"text\":\"JavaScript Promise.race()\",\"link\":\"/web/JavaScript_top/learn15\"},{\"text\":\"JavaScript Promise的错误处理\",\"link\":\"/web/JavaScript_top/learn16\"},{\"text\":\"ES6新数据类型 Set\",\"link\":\"/web/JavaScript_top/learn17\"},{\"text\":\"ES6新数据类型 Map\",\"link\":\"/web/JavaScript_top/learn18\"},{\"text\":\"全面理解ES6模块化编程\",\"link\":\"/web/JavaScript_top/learn19\"},{\"text\":\"JavaScript ES6 Symbol\",\"link\":\"/web/JavaScript_top/learn20\"},{\"text\":\"JavaScript数组迭代方法\",\"link\":\"/web/JavaScript_top/learn21\"},{\"text\":\"JavaScript String原生方法\",\"link\":\"/web/JavaScript_top/learn22\"},{\"text\":\"数组查找项\",\"link\":\"/web/JavaScript_top/learn23\"},{\"text\":\"ES6-ES12\",\"link\":\"/web/JavaScript_top/learn24\"},{\"text\":\"ES6 常用知识\",\"link\":\"/web/JavaScript_top/learn25\"}]}],\"/web/vue2/\":[{\"text\":\"Vue2\",\"items\":[{\"text\":\"前端工程化与 webpack\",\"collapsed\":true,\"items\":[{\"text\":\"前端工程化\",\"link\":\"/web/vue2/01/learn01\"},{\"text\":\"webpack 的基本使用\",\"link\":\"/web/vue2/01/learn02\"},{\"text\":\"webpack 插件的作用\",\"link\":\"/web/vue2/01/learn03\"},{\"text\":\"webpack 中的 loader\",\"link\":\"/web/vue2/01/learn04\"},{\"text\":\"打包发布\",\"link\":\"/web/vue2/01/learn05\"},{\"text\":\"Source Map\",\"link\":\"/web/vue2/01/learn06\"}]},{\"text\":\"基础入门\",\"collapsed\":true,\"items\":[{\"text\":\"Vue 的基本使用\",\"link\":\"/web/vue2/02/learn01\"},{\"text\":\"Vue 的调试工具\",\"link\":\"/web/vue2/02/learn02\"},{\"text\":\"Vue 的指令与过滤器\",\"link\":\"/web/vue2/02/learn03\"},{\"text\":\"品牌列表案例\",\"link\":\"/web/vue2/02/learn04\"},{\"text\":\"侦听器\",\"link\":\"/web/vue2/02/learn05\"},{\"text\":\"计算属性\",\"link\":\"/web/vue2/02/learn06\"},{\"text\":\"Vue-cli\",\"link\":\"/web/vue2/02/learn07\"},{\"text\":\"Vue 组件\",\"link\":\"/web/vue2/02/learn08\"},{\"text\":\"axios\",\"link\":\"/web/vue2/02/learn09\"},{\"text\":\"计算属补充性\",\"link\":\"/web/vue2/02/learn10\"}]},{\"text\":\"生命周期 & 数据共享\",\"collapsed\":true,\"items\":[{\"text\":\"组件的生命周期\",\"link\":\"/web/vue2/03/learn01\"},{\"text\":\"组件之间的数据共享\",\"link\":\"/web/vue2/03/learn02\"},{\"text\":\"ref 引用\",\"link\":\"/web/vue2/03/learn03\"},{\"text\":\"总结\",\"link\":\"/web/vue2/03/learn04\"}]},{\"text\":\"动态组件/插槽/自定义指令\",\"collapsed\":true,\"items\":[{\"text\":\"动态组件\",\"link\":\"/web/vue2/04/learn01\"},{\"text\":\"插槽\",\"link\":\"/web/vue2/04/learn02\"},{\"text\":\"自定义指令\",\"link\":\"/web/vue2/04/learn03\"}]},{\"text\":\"路由\",\"collapsed\":true,\"items\":[{\"text\":\"前端路由的概念与原理\",\"link\":\"/web/vue2/05/learn01\"},{\"text\":\"vue-router 的基本使用\",\"link\":\"/web/vue2/05/learn02\"},{\"text\":\"vue-router 的常见用法\",\"link\":\"/web/vue2/05/learn03\"}]},{\"text\":\"打包相关\",\"collapsed\":true,\"items\":[{\"text\":\"Token 续签\",\"link\":\"/web/vue2/06/learn01\"},{\"text\":\"项目优化\",\"link\":\"/web/vue2/06/learn02\"},{\"text\":\"打包发布\",\"link\":\"/web/vue2/06/learn03\"},{\"text\":\"vant 修改主题\",\"link\":\"/web/vue2/06/learn04\"},{\"text\":\"APP滚动停留保持位置\",\"link\":\"/web/vue2/06/learn05\"}]}]}],\"/web/vue3/\":[{\"text\":\"Vue3\",\"items\":[{\"text\":\"Vue3开发体验\",\"collapsed\":true,\"items\":[{\"text\":\"Vue3开发\",\"link\":\"/web/vue3/01/learn01\"},{\"text\":\"Vue基础-模板语法\",\"link\":\"/web/vue3/01/learn02\"},{\"text\":\"Options-API\",\"link\":\"/web/vue3/01/learn03\"},{\"text\":\"Vue3 开发模式\",\"link\":\"/web/vue3/01/learn04\"}]},{\"text\":\"Webpack基础\",\"collapsed\":true,\"items\":[{\"text\":\"Webpack基础打包\",\"link\":\"/web/vue3/02/learn01\"},{\"text\":\"Webpack打包其他资源\",\"link\":\"/web/vue3/02/learn02\"},{\"text\":\"Babel和devServer\",\"link\":\"/web/vue3/02/learn03\"}]},{\"text\":\"VueCLI和Vite\",\"collapsed\":true,\"items\":[{\"text\":\"VueCLI\",\"link\":\"/web/vue3/03/learn01\"},{\"text\":\"Vite\",\"link\":\"/web/vue3/03/learn02\"}]},{\"text\":\"Vue3组件化开发\",\"collapsed\":true,\"items\":[{\"text\":\"Vue3组件化开发一\",\"link\":\"/web/vue3/04/learn01\"},{\"text\":\"Vue3组件化开发二\",\"link\":\"/web/vue3/04/learn02\"},{\"text\":\"Vue3组件化开发三\",\"link\":\"/web/vue3/04/learn03\"},{\"text\":\"Vue3过渡&动画实现\",\"link\":\"/web/vue3/04/learn04\"}]},{\"text\":\"Composition API\",\"collapsed\":true,\"items\":[{\"text\":\"Composition API(一)\",\"link\":\"/web/vue3/05/learn01\"},{\"text\":\"Composition API(二)\",\"link\":\"/web/vue3/05/learn02\"},{\"text\":\"Composition API(三)\",\"link\":\"/web/vue3/05/learn03\"},{\"text\":\"Vue3高级语法补充\",\"link\":\"/web/vue3/05/learn04\"}]},{\"text\":\"Vue3源码学习\",\"collapsed\":true,\"items\":[{\"text\":\"Vue3源码学习\",\"link\":\"/web/vue3/06/learn01\"}]},{\"text\":\"VueX\",\"collapsed\":true,\"items\":[{\"text\":\"Vuex的状态管理\",\"link\":\"/web/vue3/07/learn01\"}]},{\"text\":\"TypeScript\",\"collapsed\":true,\"items\":[{\"text\":\"TypeScript语法精讲(一)\",\"link\":\"/web/vue3/08/learn01\"},{\"text\":\"webpack 下搭建 TypeScript 运行环境\",\"link\":\"/web/vue3/08/learn02\"},{\"text\":\"TypeScript语法精讲(二)\",\"link\":\"/web/vue3/08/learn03\"},{\"text\":\"TypeScript语法精讲(三)\",\"link\":\"/web/vue3/08/learn04\"},{\"text\":\"TypeScript语法精讲(四)\",\"link\":\"/web/vue3/08/learn05\"}]},{\"text\":\"高阶组件封装\",\"collapsed\":true,\"items\":[{\"text\":\"网络请求封装\",\"link\":\"/web/vue3/09/learn01\"},{\"text\":\"自定义form表单高阶组件\",\"link\":\"/web/vue3/09/learn02\"}]},{\"text\":\"其他问题解决\",\"collapsed\":true,\"items\":[{\"text\":\"项目页面初始化\",\"link\":\"/web/vue3/10/learn01\"},{\"text\":\"element-plus 相关\",\"link\":\"/web/vue3/10/learn02\"},{\"text\":\"tsconfig.json 基本配置\",\"link\":\"/web/vue3/10/learn03\"},{\"text\":\"tsconfig.node.json 报错\",\"link\":\"/web/vue3/10/learn04\"},{\"text\":\"vue3+vite项目适配rem\",\"link\":\"/web/vue3/10/learn05\"},{\"text\":\"vue3 响应式移动端\",\"link\":\"/web/vue3/10/learn06\"}]}]}],\"/pinia/\":[{\"text\":\"pinia\",\"items\":[{\"text\":\"pinia\",\"link\":\"/pinia/learn01\"},{\"text\":\"Nuxt3 集成 Pinia\",\"link\":\"/web/Nuxt3/04/learn07\"}]}],\"/web/react/\":[{\"text\":\"React\",\"items\":[{\"text\":\"React 初体验\",\"collapsed\":true,\"items\":[{\"text\":\"初体验 React\",\"link\":\"/web/react/01/learn01\"},{\"text\":\"jsx绑定属性\",\"link\":\"/web/react/01/learn02\"},{\"text\":\"jsx绑定事件、传递参数\",\"link\":\"/web/react/01/learn03\"},{\"text\":\"React 条件渲染\",\"link\":\"/web/react/01/learn04\"},{\"text\":\"React 列表渲染\",\"link\":\"/web/react/01/learn05\"},{\"text\":\"jsx 的本质\",\"link\":\"/web/react/01/learn06\"},{\"text\":\"阶段性案例-购物车\",\"link\":\"/web/react/01/learn07\"}]},{\"text\":\"脚手架\",\"link\":\"/web/react/02/learn01\"},{\"text\":\"render函数\",\"link\":\"/web/react/03/learn01\"},{\"text\":\"认识生命周期\",\"link\":\"/web/react/04/learn01\"},{\"text\":\"组件化开发\",\"collapsed\":true,\"items\":[{\"text\":\"组件化开发\",\"link\":\"/web/react/05/learn01\"},{\"text\":\"父传子通信\",\"link\":\"/web/react/05/learn02\"},{\"text\":\"参数验证 propTypes\",\"link\":\"/web/react/05/learn03\"},{\"text\":\"子传父\",\"link\":\"/web/react/05/learn04\"},{\"text\":\"组件通信案例练习\",\"link\":\"/web/react/05/learn05\"},{\"text\":\"React 实现插槽slot\",\"link\":\"/web/react/05/learn06\"},{\"text\":\"跨组件通信\",\"link\":\"/web/react/05/learn07\"},{\"text\":\"为什么使用 setState\",\"link\":\"/web/react/05/learn08\"},{\"text\":\"React 更新机制\",\"link\":\"/web/react/05/learn09\"},{\"text\":\"setState 不可变数据的力量\",\"link\":\"/web/react/05/learn10\"},{\"text\":\"全局事件传递\",\"link\":\"/web/react/05/learn11\"},{\"text\":\"ref 的使用\",\"link\":\"/web/react/05/learn12\"},{\"text\":\"ref 的类型(受控和非受控组件)\",\"link\":\"/web/react/05/learn13\"},{\"text\":\"认识高阶函数\",\"link\":\"/web/react/05/learn14\"},{\"text\":\"应用一 - props的增强\",\"link\":\"/web/react/05/learn15\"},{\"text\":\"应用二 - 渲染判断鉴权\",\"link\":\"/web/react/05/learn16\"},{\"text\":\"ref 的转发\",\"link\":\"/web/react/05/learn17\"},{\"text\":\"Porals 的使用\",\"link\":\"/web/react/05/learn18\"},{\"text\":\"Fragments\",\"link\":\"/web/react/05/learn19\"},{\"text\":\"StrictMode 严格模式\",\"link\":\"/web/react/05/learn20\"}]},{\"text\":\"React 中的样式\",\"collapsed\":true,\"items\":[{\"text\":\"认识CSS in JS\",\"link\":\"/web/react/06/learn01\"},{\"text\":\"React 中添加 class\",\"link\":\"/web/react/06/learn02\"}]},{\"text\":\"AntDesign 组件库\",\"collapsed\":true,\"items\":[{\"text\":\"AntDesign的介绍\",\"link\":\"/web/react/07/learn01\"},{\"text\":\"认识 craco\",\"link\":\"/web/react/07/learn02\"}]},{\"text\":\"React-Transition-Group\",\"link\":\"/web/react/08/learn01\"},{\"text\":\"Redux的使用\",\"collapsed\":true,\"items\":[{\"text\":\"JavaScript 纯函数\",\"link\":\"/web/react/09/learn01\"},{\"text\":\"React中的纯函数\",\"link\":\"/web/react/09/learn02\"},{\"text\":\"为什么需要 redux\",\"link\":\"/web/react/09/learn03\"},{\"text\":\"redux-thunk发送异步请求\",\"link\":\"/web/react/09/learn04\"}]},{\"text\":\"react-router\",\"link\":\"/web/react/10/learn01\"},{\"text\":\"React Hooks\",\"collapsed\":true,\"items\":[{\"text\":\"为什么需要Hook\",\"link\":\"/web/react/11/learn01\"},{\"text\":\"React中的纯函数\",\"link\":\"/web/react/11/learn02\"},{\"text\":\"useReducer 等Hook\",\"link\":\"/web/react/11/learn03\"}]},{\"text\":\"项目规范\",\"link\":\"/web/react/12/learn01\"},{\"text\":\"认识ImmutableJS\",\"link\":\"/web/react/13/learn01\"},{\"text\":\"redux 项目中的使用\",\"link\":\"/web/react/14/learn01\"},{\"text\":\"React SSR\",\"collapsed\":true,\"items\":[{\"text\":\"认识SSR\",\"link\":\"/web/react/15/learn01\"},{\"text\":\"使用React SSR\",\"link\":\"/web/react/15/learn02\"}]}]}],\"/web/Nuxt3/\":[{\"text\":\"Nuxt3\",\"items\":[{\"text\":\"Nuxt初体验\",\"collapsed\":true,\"items\":[{\"text\":\"单页面应用程序渲染原理\",\"link\":\"/web/Nuxt3/01/learn01\"},{\"text\":\"SPA 的有缺点\",\"link\":\"/web/Nuxt3/01/learn02\"},{\"text\":\"爬虫-工作流程\",\"link\":\"/web/Nuxt3/01/learn03\"},{\"text\":\"搜索引擎的优化(SEO)\",\"link\":\"/web/Nuxt3/01/learn04\"},{\"text\":\"静态站点生成(SSG)\",\"link\":\"/web/Nuxt3/01/learn05\"},{\"text\":\"服务器端渲染(SSR)\",\"link\":\"/web/Nuxt3/01/learn06\"},{\"text\":\"SSR 优缺点\",\"link\":\"/web/Nuxt3/01/learn07\"}]},{\"text\":\"Vue3 + SSR\",\"collapsed\":true,\"items\":[{\"text\":\"邂逅Vue3 + SSR\",\"link\":\"/web/Nuxt3/02/learn01\"},{\"text\":\"Node Server 搭建\",\"link\":\"/web/Nuxt3/02/learn02\"},{\"text\":\"Vue3 + SSR 搭建\",\"link\":\"/web/Nuxt3/02/learn03\"},{\"text\":\"Vue3 SSR + Hydration\",\"link\":\"/web/Nuxt3/02/learn04\"},{\"text\":\"跨请求状态污染\",\"link\":\"/web/Nuxt3/02/learn05\"},{\"text\":\"Vue3 SSR + Vue Router\",\"link\":\"/web/Nuxt3/02/learn06\"},{\"text\":\"Vue3 SSR + Pinia\",\"link\":\"/web/Nuxt3/02/learn07\"}]},{\"text\":\"Vue3 + Nuxt3 基础语法\",\"collapsed\":true,\"items\":[{\"text\":\"邂逅 Nuxt3\",\"link\":\"/web/Nuxt3/03/learn01\"},{\"text\":\"Nuxt3 初体验\",\"link\":\"/web/Nuxt3/03/learn02\"},{\"text\":\"Nuxt3 全局配置\",\"link\":\"/web/Nuxt3/03/learn03\"},{\"text\":\"Nuxt3 内置组件\",\"link\":\"/web/Nuxt3/03/learn04\"},{\"text\":\"Nuxt3 样式和资源\",\"link\":\"/web/Nuxt3/03/learn05\"},{\"text\":\"Nuxt3 页面和导航\",\"link\":\"/web/Nuxt3/03/learn06\"},{\"text\":\"Nuxt3 动态路由\",\"link\":\"/web/Nuxt3/03/learn07\"}]},{\"text\":\"Vue3 + Nuxt3 核心语法\",\"collapsed\":true,\"items\":[{\"text\":\"嵌套路由和中间件\",\"link\":\"/web/Nuxt3/04/learn01\"},{\"text\":\"Nuxt 自定义布局\",\"link\":\"/web/Nuxt3/04/learn02\"},{\"text\":\"页面渲染模式\",\"link\":\"/web/Nuxt3/04/learn03\"},{\"text\":\"Nuxt3 插件开发\",\"link\":\"/web/Nuxt3/04/learn04\"},{\"text\":\"Lifecycle Hooks\",\"link\":\"/web/Nuxt3/04/learn05\"},{\"text\":\"获取数据、API 接口\",\"link\":\"/web/Nuxt3/04/learn06\"},{\"text\":\"useState 和 Pinia\",\"link\":\"/web/Nuxt3/04/learn07\"},{\"text\":\"安装 Element plus\",\"link\":\"/web/Nuxt3/04/learn08\"}]},{\"text\":\"打包部署\",\"collapsed\":true,\"items\":[{\"text\":\"项目\",\"link\":\"/web/Nuxt3/05/learn01\"},{\"text\":\"安装 Node 和 PM2\",\"link\":\"/web/Nuxt3/05/learn02\"},{\"text\":\"Nuxt3 配置 tailwindcss daisyui\",\"link\":\"/web/Nuxt3/05/learn03\"}]}]}],\"/web/Next/\":[{\"text\":\"Next\",\"items\":[{\"text\":\"从零搭建SSR应用\",\"collapsed\":true,\"items\":[{\"text\":\"React18 + SSR\",\"link\":\"/web/Next/01/learn01\"}]},{\"text\":\"React18 Next 基础语法\",\"collapsed\":true,\"items\":[{\"text\":\"Next.js\",\"link\":\"/web/Next/02/learn01\"},{\"text\":\"Next.js 初体验\",\"link\":\"/web/Next/02/learn02\"},{\"text\":\"全局配置\",\"link\":\"/web/Next/02/learn03\"},{\"text\":\"内置组件\",\"link\":\"/web/Next/02/learn04\"},{\"text\":\"样式和资源\",\"link\":\"/web/Next/02/learn05\"},{\"text\":\"页面和导航\",\"link\":\"/web/Next/02/learn06\"},{\"text\":\"动态路由\",\"link\":\"/web/Next/02/learn07\"}]},{\"text\":\"React18 Next 核心语法\",\"collapsed\":true,\"items\":[{\"text\":\"中间件和匹配器\",\"link\":\"/web/Next/03/learn01\"},{\"text\":\"Layout和生命周期\",\"link\":\"/web/Next/03/learn02\"},{\"text\":\"网络请求的封装\",\"link\":\"/web/Next/03/learn03\"},{\"text\":\"编写后端接口\",\"link\":\"/web/Next/03/learn04\"},{\"text\":\"页面渲染模式\",\"link\":\"/web/Next/03/learn05\"},{\"text\":\"数据获取和Redux\",\"link\":\"/web/Next/03/learn06\"}]},{\"text\":\"React18 Next 项目相关\",\"collapsed\":true,\"items\":[{\"text\":\"项目中用到的库\",\"link\":\"/web/Next/04/learn01\"},{\"text\":\"项目打包和部署\",\"link\":\"/web/Next/04/learn02\"}]}]}],\"/web/wechatCloud/\":[{\"text\":\"微信小程序\",\"items\":[{\"text\":\"微信小程序\",\"collapsed\":true,\"items\":[{\"text\":\"微信小程序其他内容\",\"link\":\"/web/wechatCloud/02/learn01\"},{\"text\":\"页面跳转传参\",\"link\":\"/web/wechatCloud/02/learn02\"},{\"text\":\"小程序登录解析\",\"link\":\"/web/wechatCloud/02/learn03\"}]},{\"text\":\"微信小程序云开发\",\"collapsed\":true,\"items\":[{\"text\":\"云开发核心技术\",\"link\":\"/web/wechatCloud/01/learn01\"},{\"text\":\"云数据库的增删改查\",\"link\":\"/web/wechatCloud/01/learn02\"},{\"text\":\"云存储的文件系统\",\"link\":\"/web/wechatCloud/01/learn03\"},{\"text\":\"云函数和云调用\",\"link\":\"/web/wechatCloud/01/learn04\"}]},{\"text\":\"微信小程序其他\",\"collapsed\":true,\"items\":[{\"text\":\"微信小程序共享数据\",\"link\":\"/web/wechatCloud/03/learn01\"}]}]}],\"/web/NodeLearn/\":[{\"text\":\"Node\",\"items\":[{\"text\":\"Node 服务器\",\"collapsed\":true,\"items\":[{\"text\":\"http 模块\",\"link\":\"/web/NodeLearn/01/learn01\"},{\"text\":\"http服务器-request对象解析\",\"link\":\"/web/NodeLearn/01/learn02\"},{\"text\":\"http服务器-response响应对象\",\"link\":\"/web/NodeLearn/01/learn03\"},{\"text\":\"http 请求\",\"link\":\"/web/NodeLearn/01/learn04\"},{\"text\":\"文件上传\",\"link\":\"/web/NodeLearn/01/learn05\"}]},{\"text\":\"Node 服务器 express 框架\",\"collapsed\":true,\"items\":[{\"text\":\"Express 认识初体验\",\"link\":\"/web/NodeLearn/02/learn01\"},{\"text\":\"Express 中间件使用\",\"link\":\"/web/NodeLearn/02/learn02\"},{\"text\":\"Express 请求和响应\",\"link\":\"/web/NodeLearn/02/learn03\"},{\"text\":\"Express 路由的使用\",\"link\":\"/web/NodeLearn/02/learn04\"},{\"text\":\"Express 的错误处理\",\"link\":\"/web/NodeLearn/02/learn05\"},{\"text\":\"Express 的源码解析\",\"link\":\"/web/NodeLearn/02/learn06\"},{\"text\":\"Express 静态资源服务器\",\"link\":\"/web/NodeLearn/02/learn07\"}]},{\"text\":\"Node 服务器 koa 框架\",\"collapsed\":true,\"items\":[{\"text\":\"koa 的基本使用\",\"link\":\"/web/NodeLearn/03/learn01\"},{\"text\":\"koa 的参数解析\",\"link\":\"/web/NodeLearn/03/learn02\"},{\"text\":\"koa 响应和错误\",\"link\":\"/web/NodeLearn/03/learn03\"},{\"text\":\"koa 静态服务器\",\"link\":\"/web/NodeLearn/03/learn04\"},{\"text\":\"和 express 对比\",\"link\":\"/web/NodeLearn/03/learn05\"}]},{\"text\":\"MySQL 数据库\",\"collapsed\":true,\"items\":[{\"text\":\"MySQL 介绍和安装\",\"link\":\"/web/NodeLearn/04/learn01\"},{\"text\":\"MySQL 链接和 GUI\",\"link\":\"/web/NodeLearn/04/learn02\"},{\"text\":\"SQL 语句和数据类型\",\"link\":\"/web/NodeLearn/04/learn03\"},{\"text\":\"SQL 语句-DDL 语句\",\"link\":\"/web/NodeLearn/04/learn04\"},{\"text\":\"SQL 语句-DML 语句\",\"link\":\"/web/NodeLearn/04/learn05\"},{\"text\":\"SQL 语句-DQL 语句\",\"link\":\"/web/NodeLearn/04/learn06\"},{\"text\":\"MySQL 数据库-高级特性\",\"link\":\"/web/NodeLearn/04/learn07\"},{\"text\":\"MySQL 查询对象\",\"link\":\"/web/NodeLearn/04/learn08\"},{\"text\":\"MySQL 查询数组\",\"link\":\"/web/NodeLearn/04/learn09\"}]},{\"text\":\"Node 中操作 MySQL\",\"collapsed\":true,\"items\":[{\"text\":\"mysql2 库介绍使用\",\"link\":\"/web/NodeLearn/05/learn01\"},{\"text\":\"mysql2 预处理语句\",\"link\":\"/web/NodeLearn/05/learn02\"},{\"text\":\"mysql2 连接池使用\",\"link\":\"/web/NodeLearn/05/learn03\"},{\"text\":\"mysql2 的 Promise\",\"link\":\"/web/NodeLearn/05/learn04\"}]},{\"text\":\"Node 项目实践\",\"collapsed\":true,\"items\":[{\"text\":\"项目搭建\",\"link\":\"/web/NodeLearn/06/learn01\"},{\"text\":\"JWT实现Token机制\",\"link\":\"/web/NodeLearn/06/learn02\"},{\"text\":\"图片上传和存储\",\"link\":\"/web/NodeLearn/06/learn03\"},{\"text\":\"配置云服务器\",\"link\":\"/web/NodeLearn/06/learn04\"}]},{\"text\":\"Node 项目中遇到的问题\",\"collapsed\":true,\"items\":[{\"text\":\"Nodejs——Mysql时区问题\",\"link\":\"/web/NodeLearn/07/learn01\"},{\"text\":\"apifox 设置 token\",\"link\":\"/web/NodeLearn/07/learn02\"},{\"text\":\"Node 内存不足\",\"link\":\"/web/NodeLearn/07/learn03\"}]}]}],\"/dailyNotes/\":[{\"text\":\"日常笔记\",\"items\":[{\"text\":\"JavaScript 相关\",\"collapsed\":true,\"items\":[{\"text\":\"10+个 JavaScript 单行代码\",\"link\":\"/dailyNotes/01/learn01\"},{\"text\":\"Array 下有多少原型方法\",\"link\":\"/dailyNotes/01/learn02\"},{\"text\":\"正则相关\",\"link\":\"/dailyNotes/01/learn03\"}]},{\"text\":\"Vue 相关\",\"collapsed\":true,\"items\":[{\"text\":\"使用 defer 优化白屏时间\",\"link\":\"/dailyNotes/02/learn01\"}]}]}],\"/dailyNotes/03/\":[{\"text\":\"css 相关\",\"items\":[{\"text\":\"loading\",\"collapsed\":true,\"items\":[{\"text\":\"纯css实现Loading效果（上）\",\"link\":\"/dailyNotes/03/learn01\"},{\"text\":\"纯css实现Loading效果（中）\",\"link\":\"/dailyNotes/03/learn02\"},{\"text\":\"纯css实现Loading效果（下）\",\"link\":\"/dailyNotes/03/learn03\"}]}]}],\"/workflow/\":[{\"text\":\"常用工具/方法\",\"collapsed\":false,\"items\":[{\"text\":\"工具库整理\",\"link\":\"/workflow/utils/library\"},{\"text\":\"常用正则整理\",\"link\":\"/workflow/utils/regexp\"},{\"text\":\"常用方法整理\",\"link\":\"/workflow/utils/function\"}]},{\"text\":\"CSS 相关\",\"collapsed\":false,\"items\":[{\"text\":\"CSS 语法\",\"link\":\"/workflow/css/spec\"},{\"text\":\"CSS 奇淫技巧\",\"link\":\"/workflow/css/tricks\"},{\"text\":\"Sass 常用技巧\",\"link\":\"/workflow/sass/\"},{\"text\":\"快速实现SVG动态图标\",\"link\":\"/workflow/css/svg\"}]},{\"text\":\"ElementUI 相关\",\"link\":\"/workflow/elementUI/learn01\"},{\"text\":\"Vue 相关\",\"link\":\"/workflow/vue/\"},{\"text\":\"Vite 相关\",\"items\":[{\"text\":\"Vite 配置-1\",\"link\":\"/workflow/vite/learn01\"},{\"text\":\"Vite 配置-2\",\"link\":\"/workflow/vite/learn02\"},{\"text\":\"src 配置\",\"link\":\"/workflow/vite/learn03\"}]},{\"text\":\"Node 相关\",\"items\":[{\"text\":\"npm 常用命令\",\"link\":\"/workflow/node/npm\"},{\"text\":\"nvm 常用命令\",\"link\":\"/workflow/node/nvm\"}]},{\"text\":\"终端相关\",\"collapsed\":false,\"items\":[{\"text\":\"Zsh 配置\",\"link\":\"/workflow/terminal/zsh\"},{\"text\":\"命令行工具\",\"link\":\"/workflow/terminal/toolkit\"},{\"text\":\"Shell 命令\",\"link\":\"/workflow/terminal/shell\"},{\"text\":\"iTerm2 mac 终端命令行工具\",\"link\":\"/workflow/terminal/learn01\"},{\"text\":\"oh-my-zsh 设置\",\"link\":\"/workflow/terminal/learn02\"}]},{\"text\":\"git\",\"collapsed\":false,\"items\":[{\"text\":\"Git 相关技巧\",\"link\":\"/workflow/git/learn01\"},{\"text\":\"Git 命令清单\",\"link\":\"/workflow/git/learn02\"}]}],\"/efficiency/\":[{\"text\":\"软件推荐与配置\",\"items\":[{\"text\":\"多平台软件\",\"link\":\"/efficiency/software/cross-platform\"},{\"text\":\"Mac 平台\",\"link\":\"/efficiency/software/mac\"},{\"text\":\"Windows 平台\",\"link\":\"/efficiency/software/windows\"},{\"text\":\"浏览器设置与扩展\",\"link\":\"/efficiency/software/browser\"},{\"text\":\"Visual Studio Code 配置\",\"link\":\"/efficiency/software/vscode\"},{\"text\":\"WebStorm 配置\",\"link\":\"/efficiency/software/webstorm\"}]},{\"text\":\"在线工具\",\"link\":\"/efficiency/online-tools\"},{\"text\":\"书签脚本\",\"link\":\"/efficiency/bookmark-scripts\"}],\"/pit/\":[{\"text\":\"踩坑记录\",\"items\":[{\"text\":\"npm 踩坑记录\",\"link\":\"/pit/npm\"},{\"text\":\"PC 踩坑记录\",\"link\":\"/pit/pc\"},{\"text\":\"H5 踩坑记录\",\"link\":\"/pit/h5\"},{\"text\":\"element-plus el-table 报错\",\"link\":\"/pit/element_plus\"}]}],\"/web/Dockers/\":[{\"text\":\"Docker\",\"items\":[{\"text\":\"Minio 对象存储\",\"collapsed\":true,\"items\":[{\"text\":\"Docker 相关\",\"link\":\"/web/Dockers/01/learn01\"}]},{\"text\":\"Minio 对象存储\",\"collapsed\":true,\"items\":[{\"text\":\"安装 Minio\",\"link\":\"/web/Dockers/02/learn01\"}]}]}]},\"outline\":{\"level\":\"deep\",\"label\":\"本页目录\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://gitee.com/addminsjh\"}],\"footer\":{\"message\":\"如有转载或 CV 的请标注本站原文地址\",\"copyright\":\"Copyright © 2023-present 烟浮YanFu\"},\"darkModeSwitchLabel\":\"外观\",\"returnToTopLabel\":\"返回顶部\",\"lastUpdatedText\":\"上次更新\",\"search\":{\"provider\":\"local\",\"options\":{\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"noResultsText\":\"无法找到相关结果\",\"resetButtonTitle\":\"清除查询条件\",\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\",\"navigateUpKeyAriaLabel\":\"111\",\"closeText\":\"关闭\"}}}}},\"docFooter\":{\"prev\":\"上一篇\",\"next\":\"下一篇\"}},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":true}")</script>
    
  </body>
</html>